<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div{padding:10px;margin:10px;border:solid 1px black;}
    </style>
</head>
<body>
    <div class="app">
        <h1>这是 - {{title}}</h1>

        <!-- 具体的名字的插槽 -->

        <Child1 abc="hello">
            默认插槽
            <template #c>
                底部
            </template>
            <template v-slot:a="obj">
                头部
                <p>插槽传过来的数据：{{obj}}</p>
            </template>
            <template #b="obj">
                身体
                <!-- <p>插槽传过来的数据：{{obj}}</p>
                <p>插槽传过来的数据：{{obj.asd}}</p>
                <p>插槽传过来的数据：{{obj.qwe}}</p>
                <p>插槽传过来的数据：{{obj.zxc}}</p> -->
                
                <p>插槽传过来的数据：{{qwe}}</p>
                <p>插槽传过来的数据：{{asd}}</p>
                <p>插槽传过来的数据：{{zxc}}</p>
            </template>
        </Child1>
    </div>
</body>
<template id="child1Temp">
    <div>
        <header>
            <slot name="a"></slot>
            {{abc}}
        </header>
        {{abc}}
        <h3>这是 - {{title}}</h3>
        {{abc}}
        <main>
            {{abc}}
            <slot></slot>
            {{abc}}
            <slot name="b" qwe="world" :asd="true" num="123" :zxc="msg"></slot>
            {{abc}}
        </main>
        <footer>
            {{abc}}
            <slot name="c"></slot>
            {{abc}}
        </footer>
        <div class="box">
            <slot name="d">这是当前插槽的默认内容</slot>
        </div>
    </div>
</template>
<script src="../vue.global.js"></script>
<script>
    const app = Vue.createApp({
        data(){
            return {
                title:"根组件"
            }
        },
        components:{
            Child1: {
                data(){
                    return {
                        title:"子组件1",
                        msg:"子组件内的数据"
                    }
                },
                template:"#child1Temp",
                props:["abc"]
            }
        }
    })

    app.mount(".app");

</script>
</html>